package com.springapp.controller;

/**
 * Created by Thomas on 14/03/14.
 */

import com.springapp.connexion.SessionBean;
import com.springapp.dao.dao.impl.EmplacementDAO;
import com.springapp.service.impl.LigneCommandeService;
import com.springapp.service.impl.PaletteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;


@Controller
@RequestMapping(value="/commande")
public class ControlCmd {
    @Autowired
    private LigneCommandeService lignecommandeService;
    @Autowired
    private PaletteService paletteService;
    @Autowired
    private SessionBean sessionBean;
    @Autowired
    private EmplacementDAO emplacementDAO;


    //récupérer la valeur de l'emplacement scanné par le preparateur:
    //sessionBean.getUtilisateurFromSession().seteIDEmplacement(<valeur récupéré via les infos saisie dans le fomulaire
    // dans la page Serv_prepa_Dashboard.jsp)>)

    @RequestMapping( method = RequestMethod.POST)
    public ModelAndView displayListCmd(@RequestParam("eIDZonePrepa") int seIDZonePrepa) {
    ModelAndView model = new ModelAndView("commande");
        //Affiche la liste des articles de la commande en cours de preparation

        model.addObject("sRefCmd", lignecommandeService.getRefCommandeByIDAndByUser(sessionBean.getUtilisateurFromSession().getsLogin()));
        sessionBean.getUtilisateurFromSession().seteIDEmplacement(seIDZonePrepa);
        model.addObject("nomEmplacement", emplacementDAO.getEmplacement(seIDZonePrepa));
        model.addObject("lstCmdInPrepa", lignecommandeService.getCommandeByIDAndByUser(sessionBean.getUtilisateurFromSession().getsLogin(),lignecommandeService.getRefCommandeByIDAndByUser(sessionBean.getUtilisateurFromSession().getsLogin())));

        //model.addObject("lstPaletteParArticle", paletteService.htPalArtByCmd(lignecommandeService.getRefCommandeByIDAndByUser(sessionBean.getUtilisateurFromSession().getsLogin())));
        model.addObject("lstPaletteByCmd", paletteService.htIDNbArt(lignecommandeService.getRefCommandeByIDAndByUser(sessionBean.getUtilisateurFromSession().getsLogin()),seIDZonePrepa));

        return model;
    }
}
